This method seems wasteful to me, higher-order functions, option-allocations + getRequiredType.
What alternate soltuions were discarded in favor of this impl?