a) Added isChild function to check whether a supplied argument was something that could be appended as a child. b) Corrected the append function to convert strings to DOM text nodes before attempting to append them. c) Added a bunch of comments.