Maybe getting a character from a list of strings
I haven't used PureScript, but in Haskell the most straightforward way to do this would be to leverage the Monad instance for Maybe and write your function using do-notation. From toying around with http://try.purescript.org/ I think this should work.

getAt :: [String] -&gt; Number -&gt; Number -&gt; String
getAt strings x y = fromMaybe " " $ do line &lt;- strings !! y
                                       char &lt;- charAt x line
                                       return $ fromChar char


Note the use of fromMaybe, after you've done your computation in the Maybe monad, you get back out by specifying a "default" to use in the case that any value of Nothing cropped up, causing the whole do-block to return Nothing.