would be nice if it actually compiled