Extend macro prototype keyword defaults to allow a self-defining term and update doc