Add edit and less macros, mirroring which

Also add methods for edit and less that take ::Any vararg (again, mirroring which), and specify that the previous definitions take a tuple of DataTypes.