yay functions
defstruct macroexpand is quite enlightening