String typifyWith(String type) { assert(!type.contains('#')); if (isEmpty) { return type; } return '$type#$this'; }