In a macro it would be nice to be able to pass in the name of a segment (e.g. in an argument called segment_name). However, it will not resolve the argument name and simply use segment_name directly, i.e. trying to look up a segment with the actual name segment_name.
Perhaps the syntax should be changed to an array syntax, e.g. segments['name'].start so that string interpolation can be used.