A functional, Ruby DSL for casting, transforming and transposing objects