BROKEN, reworking interfaces to improve static typing.