Change ReaderMacroFunction to abstract class vs interface so we can make it a function structure.