functionSig :: Int -- ^ first argument -> Int {- ^ second argument with multiline doc -} -> String -- ^ result functionSigWithForall :: forall a . Int -- ^ first argument -> a {- ^ second argument with multiline doc -} -> String -- ^ result functionSigWithContext :: (HasCallStack) => Int -- ^ first argument -> Int {- ^ second argument with multiline doc -} -> String -- ^ result functionSigWithForallAndContext :: forall a . (HasCallStack) => Int -- ^ first argument -> a {- ^ second argument with multiline doc -} -> String -- ^ result