MakeContext -> Result<'T, MakeError>
obj
A Make represents a function that takes a MakeContext and returns a FSharpResult.
It allows various "pieces" that make up the execution of a step to be "glued" together and thread a MakeContext through.