Replace make-command with macro using core.match
Rename constructors and selectors