Via pattern-matching at the moment:
X foo: Y := ...
X foo: Z := ...
Both of these are inserted on X, which is used as `self` in the method body (so instance variables, etc. work as expected too). It's one method, `foo:`, which pattern-matches on its arguments to determine which branch to evaluate.