Say we have two deterministic functions:
f :: b -> c
g :: a -> b
f takes a value of type b and deterministically produces a value of type
c. g takes a value of type a and deterministically produces a value of
type b.
Say we want to make a function h :: a -> c that applies f to the result of