spec :: SpecWith ()
spec = describe "Parsing" $ do
  it "should be able to parse a shown arbitrary expression back to the same form" $ property $ \expr ->
    parse (show expr) === Right (expr :: Expr')

  it "should accept \\ instead of λ, cause, come-on.. who can really type that?" $ property $ \expr ->
    let shown = replace 'λ' '\\' $  show expr
    in parse shown === Right (expr :: Expr')

spec :: SpecWith ()
spec = describe "Parsing" $ do
  it "should be able to parse a shown arbitrary expression back to the same form" $ property $ \expr ->
    parse (show expr) === Right (expr :: Expr')

  it "should accept \\ instead of λ, cause, come-on.. who can really type that?" $ property $ \expr ->
    let shown = replace 'λ' '\\' $  show expr
    in parse shown === Right (expr :: Expr')
spec = describe "Parsing" $ do
  it "should be able to parse a shown arbitrary expression back to the same form" $ property $ \expr ->
    parse (show expr) === Right (expr :: Expr')

  it "should accept \\ instead of λ, cause, come-on.. who can really type that?" $ property $ \expr ->
    let shown = replace 'λ' '\\' $  show expr
    in parse shown === Right (expr :: Expr')