DRY up compile matcher