<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def asks(cls, fn: Callable) -> Reader: """ Given a function it returns a Reader which evaluates that function and returns the result. asks :: (e -> a) -> R e a asks f = do e <- ask return $ f e asks sel = ask >>= return . sel """

        return cls.ask().bind(Reader(lambda x: cls.unit(fn(x))))