Create a mk series of functions for Effect to avoid the poor form of constructors which are much too imperative. Also update .gitignore