Two structs with same fields - how?

This is probably of interest to you ANN: LazilyInitializedFields.jl - Handling lazily initialized fields in a consistent way