Made use of LucidCrux's new argument system.