You should probably also define a pretty print version of a transverse wave (depending on what you choose as its string representation).