More idiomatic return values would be ```{ok | error, term()}``` tuples.