(define (stbi-load filename) (let-location ((width int) (height int)) (let* ((ptr ((foreign-lambda (c-pointer unsigned-char) stbi_load c-string (c-pointer int) (c-pointer int)) filename (location width) (location height))) (size (* width height 4)) (result (make-u8vector size))) (move-memory! ptr result size) (free ptr) result)))