OK, CommandBuilder is a new attempt.  It shows what Insert, Update, and Delete syntax might look like.  Seems to enforce some appropriate type rules, it runs, and it spits out syntax trees, but I have no idea what I'm doing.  I did whatever it took to stop the type inferencer from complaining.  Since I don't want the models/code to actually get run at runtime in the application, I don't know if it matters that the implementations are blank.  But I don't know if the syntax trees that get generated are at all useful or if this approach will scale to additional mechanisms like joins, etc.