Those have been supported by the function implementation since
commit 2014-03-31T12:06:34Z!dmantipov@yandex.ru (Bug#33807).
* lisp/emacs-lisp/bytecomp.el: substring has 1-3 args, not 2-3.
(byte-defop-compiler (>= byte-geq) 2-and)
(byte-defop-compiler get 2)
(byte-defop-compiler nth 2)
-(byte-defop-compiler substring 2-3)
+(byte-defop-compiler substring 1-3)
(byte-defop-compiler (move-marker byte-set-marker) 2-3)
(byte-defop-compiler set-marker 2-3)
(byte-defop-compiler match-beginning 1)