Instead of another method like send, which does exactly what normally
calling a method does, expect it allows for a variable method name (ie.
symbol or string) why not just allow '.' to dispatch a symbol or
string, instead of just a literal:

  obj.:meth

  obj."meth"

That would be useless in itself (one can just type 'obj.ameth'), but
now you can use variable interpolation:

  m = "meth"

  obj."#{m}"

Which does the job. Hmm... scaling this back to just the core
requirement, we could simplify to:

  obj#{m}

or

  obj#m

That later would require trailing remarks to begin with a space, but
that's a common practice anyway. It's a nice simple notation, but maybe
to "easy" for matz taste?

T.

T.