module other open tests.testb (<*>): Parser (a -> b) -> Parser a -> Parser b (<*>) {parser = fp} {parser = p} = { parser s = var pick _ {none} = {none} pick f {some: {rest: ss, parsed: x}} = {some: {rest: ss, parsed: f x}} -- var {some: y} = pick id <| fp s {none}}