Defined in Call signatures Return value A monadic type of the same kind TODO TODO return TODO fn auto && TODO