move functions to a tsukuyomi.lang.String, remove local M