It took me a couple readings to realize pure no use of closures. Making it more explicit what the two things do would by helpful. My understanding: - side effect free: does not write to any variable outside the function and does not modify it's arguments if they are objects - pure: same as above but also does not read from any external variables besides it's arguments