I have now implemented and checked in SDL.Surface->set_pixel and get_pixel methods. Note that they do no boundary checking so if you write outside the surface... Well, go figure. I could add it but I'd rather avoid any checks I can for performance reasons...