extern superman : [`a, `b] `a -> `b