T7264.hs:13:19: error:
• Couldn't match type ‘a’ with ‘forall r. r -> String’
‘a’ is a rigid type variable bound by
the inferred type of mkFoo2 :: a -> Maybe Foo at T7264.hs:13:1-32
Expected type: a -> Foo
Actual type: (forall r. r -> String) -> Foo
• In the first argument of ‘mmap’, namely ‘Foo’
In the expression: mmap Foo (Just val)
In an equation for ‘mkFoo2’: mkFoo2 val = mmap Foo (Just val)
• Relevant bindings include
val :: a (bound at T7264.hs:13:8)
mkFoo2 :: a -> Maybe Foo (bound at T7264.hs:13:1)